# Darren
# 2025年02月10日17时07分47秒
# 除与整除
def use_div():
    '''
    除与整除 
    :return: 
    '''  # 三引号，在使用函数，类时会自动显示
    a = 5 / 2   # 除法
    b = 5 // 2  # 整除
    print(a)
    print(b)


use_div()

# 幂
a = 3 ** 2
print(a)

# 比较运算符 >, <, ==, !=,>=,<=

# 逻辑运算符 and or not 优先级在python相同
# and:有假则假，都真返回后一个
print(3 and 5)
# or: 有真则真，都真返回前一个
print(3 or 5)

# 短路运算:替代if
a = False
a and print('hello')  # and前面是F,print不执行
b = True
b or print('hello')  # or前面是T，print不执行

print('-' * 50)

# 位运算符 &(按位与) |（按位或） ~（按位取反）
# <<（左移：永远*2 python 整型无限大）
# >>（右移：高位看符号）
# 移位运算只能用于整型数
# ^(异或：相同为0，相异为1) 满足交换律
# 5== 0000 0101
# 7== 0000 0111
print(5 & 7)
print(5 | 7)
print(5 ^ 7)

# ~5 按位取反 1111 1010
# 负数，取补码，加负号 -0000 0110==-6
print(~5)

print(5 << 1)
print(5 >> 1)

# -6 在内存中存储 1111 1010 右移，符号位不变 1111 1101
# 取补码 - 0000 0011 ==-3
print(-6 >> 1)  # 减1除2
